package com.chezhujie.www.core.init.mysql.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;


/**
 * Created by 汤伟杰 on 2017/5/3.
 */
@Documented
@Target({METHOD, FIELD})
@Retention(RUNTIME)
public @interface Column {

    /**
     * 字段名
     */
    String name() default "";

    /**
     * 是否唯一
     */
    boolean unique() default false;

    /**
     * 是否可为空
     */
    boolean nullable() default true;

    /**
     * 默认值 如果是字符串要自己加上 '(内容)'，如果是对象则不用
     */
    String defalt() default "";

    /**
     * 长度
     */
    int length() default 255;

    /**
     * 精度
     */
    int precision() default 0;

    /**
     * 描述
     */
    String describe() default "";
    /**
     * html input 样式
     * date select switch file decimal int text
     */
    String inputType() default "text";
    /**
     * html input 样式类型
     * int str
     */
    String inputCode() default "";
}

